package ar.frba.utn.diseñosistemas.TP2;

public class Asiento {

	private String codigo;
	private float precio;
	private Clase clase;
	private Ubicacion ubicacion;
	private EstadoAsiento estado;
	private IAerolinea aerolinea;
	
	public Asiento(String codigo, float precio, Clase clase, Ubicacion ubicacion, EstadoAsiento estado, IAerolinea aerolinea) {
		this.setCodigo(codigo);
		this.setPrecio(precio);
		this.setClase(clase);
		this.setUbicacion(ubicacion);
		this.setEstado(estado);
		this.setAerolinea(aerolinea);
	}
	
	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	
	public float getPrecio() {
		return precio;
	}
	public void setPrecio(float precio) {
		this.precio = precio;
	}
	
	public Clase getClase() {
		return this.clase;
	}
	public void setClase(Clase clase) {
		this.clase = clase;
	}
	
	public Ubicacion getUbicacion() {
		return ubicacion;
	}
	public void setUbicacion(Ubicacion ubicacion) {
		this.ubicacion = ubicacion;
	}
	
	public EstadoAsiento getEstado() {
		return estado;
	}
	public void setEstado(EstadoAsiento estado) {
		this.estado = estado;
	}

	public void setAerolinea(IAerolinea aerolinea) {
		this.aerolinea = aerolinea;
	}
	public IAerolinea getAerolinea() {
		return aerolinea;
	}
	
	public boolean EsSuperOferta() {
	
		return (this.clase == Clase.Primera && this.precio < 8000) 
			|| (this.clase == Clase.Ejecutivo && this.precio < 4000);
	}

	public void Comprar() 
	{
		this.getAerolinea().Comprar(this);
	}
}
